This application claims priority from Canadian Patent Application No. 2254258, filed Nov. 18, 1998.
The invention relates to methods and systems for operating telephone network service logic, and more particularly to conveying information regarding external events, such as incoming calls, to a telephone subscriber without intervention by the subscriber.
Known Customer Premises Equipment (CPE) or customer terminals for using telephone networks may be capable of a range of functions such as:
1) causing an indicator light to go on or off,
2) making the terminal go on- or off-hook,
3) dialing and setting up an outgoing call automatically,
4) switching a speakerphone on or off,
5) making the display show some downloaded data,
6) making the display show some soft keys, and
7) sending an indication of a soft keypress to the network.
Such terminals are typically designed for use with the well known ADSI (Analog Display Services Interface) protocol for transmitting voice and data over telephone networks. This is used widely for enhanced services such as home banking and directory services. Such services involve the customer initiating a call to the service provider""s server, which can then download menus of choices and data for display. The server may control terminal function to the extent of dictating what is displayed and/or heard by the customer. Detailed descriptions of such terminals, such services, such scripting languages, and the GR-30 message format for sending scripts to terminals, are widely available and need not be repeated here. The GR-30 message format is published in a Bellcore specification.
It is also known to remotely trigger individual terminal functions, e.g. from a local switch in the telephone network, by sending a control message to the terminal which the terminal interprets to perform a particular function. One example of this is the MWI (Message Waiting Indicator) message transmitted in a GR-30 standard message which can be used to switch on an indicator on the terminal. This extension to GR-30 forms part of another published Bellcore specification, TR-NWT-001401. Another example may occur in call set-up, when a control message may be sent to cause the terminal to display xe2x80x9clong distancexe2x80x9d for an incoming long distance call. In this case, a call qualifier field in the GR-30 call set up message is used as the control message, and is interpreted in the terminal. This is published in Bellcore specification TR-NWT-000031.
The term xe2x80x9cremote controlxe2x80x9d is intended to encompass not only control of a CPE terminal from a switch located on telecommunication company property, but also from switches such as PBXs (Private Branch Exchanges). These may be located in the same building as the terminals they serve, and are considered as part of the network for present purposes.
Another example of remote control of a terminal function is the GR30 CPEID (Customer Premises Equipment IDentifier) message used for putting the terminal off-hook. This is published in ADSI specification document SR-INS-002461. It is used in SRA (Suppressed Ringing Access) calls which may be used for transmitting data without the telephone ringing and disturbing the customer. This can be useful for utility meter reading, or for downloading software scripts for running at the terminal side as opposed to the network or server side. The switch provides a suppressed ringing access, then a server sends a CPEID message, and then the line is set up for downloading data such as a script. This is useful for addressing a particular terminal where a number of terminals are connected to the same subscriber line. A disadvantage of this particular message is that it needs to include the identity of the individual phone. This information needs to be obtained and stored somewhere, and the correct identity retrieved and incorporated each time such a message is sent, even if there is no need to specify the particular terminal (e.g. if there is only one terminal or if all terminals are to be addressed). This effectively restricts use of the message to services such as script download for which the identity of the phone would be needed.
Bellcore has published techniques for ADSI script management, usually carried out on an ASMS (ADSI Script Management Server) connected to or within the network. This also known as an ACMS (Advanced Call Management Services) server. Also, European patent application 0 841 792 describes some examples of script download, and is hereby incorporated by reference. Some such scripts may be limited to actions which control data flow within a call, e.g. displaying a menu then detecting and sending a soft keypress selection back to the server via a switch. What is displayed at the terminal is controlled remotely by the server. Other scripts involve a sequence of actions which affect the call itself, e.g. putting the terminal off hook or on-hook. This subset of scripts will be referred to as service logic scripts. A call involves at least starting to set up a voice path
While such service logic scripts are normally triggered and controlled by customer actions, there exists a mechanism for triggering remotely without customer intervention. Bell-core standard TR-NWT-001273 provides twenty or so possible triggers which can be sent by a switch, to cause a service logic script on a terminal to start or cease. Examples of these triggers include a normal ring, a special ring, a normal dial tone after the terminal goes off-hook, and a stutter dial tone after a terminal goes off-hook. In each case, a sequence of line states or telephony signaling events is used to trigger the service logic script.
Some limitations in these known methods have now been appreciated:
1) The reliability of correct detection of such line states or signaling events is limited by terminal hardware limitations and by line quality considerations.
2) Even if correctly detected, there is a chance that the given state or signaling event could conceivably arise in the course of normal call (as opposed to service specific call) processing, and not be intended as a service logic script trigger.
3) The number of different events or states is limited, hence the number of service logic scripts which may be used is limited. Or, if the same state or event is used in more than one service logic script, there is a risk of interference between different service logic scripts, when they are run simultaneously. The number of events is limited by the standard and because typically the capability of the local switch to generate such events or states is fixed in hardware and thus difficult or expensive to expand or change. If there is more than one service running, or more than one service to which a detected event or signaling state could apply, the terminal would have to make an assumption of some kind to resolve the ambiguity, or be limited to running one service at a time. The service designer must either know and take account of the assumptions, or must design the services to avoid ambiguities arising, which is difficult, if not impossible.
It is also known to send a GR30 call set up message to a terminal when a call is already in progress. The terminal may be arranged to interpret this as a command to start a SCWID (Spontaneous Call Waiting with IDentification) service script. In this case the limitation 1) mentioned above is overcome, but limitations 2) and 3) remain.
It is also known to use a script time-out mechanism in the terminal, to terminate service logic at the terminal after a given time, unless there is some user intervention to reset the timer. Although this can address limitation 1) mentioned above to improve the reliability of service logic termination, it may result in premature or delayed termination, and does not address any of the limitations in relation to initiating or controlling service logic.
According to a first aspect of the invention there is provided a method of operating telephone network service logic relating to a call over a telephone network to a customer terminal, the service logic involving both terminal and network functions, the terminal being arranged to recognize control messages, and having terminal service logic scripts for execution at the terminal to control the terminal functions, the method comprising the steps of:
determining a script control message for controlling remotely the execution of one of the terminal service logic scripts at the terminal, the script control message specifying to which of the scripts it relates; and
controlling remotely the execution by sending the script control message over the telephone network to the terminal.
Compared to the prior art Bellcore specification which uses signaling events or line states to trigger terminal scripts, sending a control message for controlling the terminal service logic script enables better interaction between service logic at the network side and the service logic script at the customer terminal. In particular, limitation 1) mentioned above and relating to reliability can be addressed. In relation to the prior art use of a control message by the SCWID service, limitations 2 and 3 mentioned above are also addressed since the control message specifies to which script it relates. In relation to the prior art remote control of individual terminal functions the invention enables, the service logic at the network side can be simplified and run more efficiently for multiple customers. Scripts containing multiple functions are controlled remotely, compared to controlling individual terminal functions with individual control messages. This is particularly significant for large networks and for delay sensitive services.
Also, it has now been appreciated that the consequences of incorrect interaction between service logic at the network side and the terminal side can be more serious and harder to foresee than incorrect triggering of a simple terminal function. At worst, a call which is not terminated when commanded could disrupt service or cause unwanted call charges to be billed. Accordingly, reliability is key for many types of service to be introduced. This can now be managed and without relying on the service designer needing to anticipate and avoid the above mentioned interference between services.
For example, if the same type of control message could be used by more than one type of service logic script, this would enable the terminal to establish which script it relates to. Also, if multiple scripts of the same type are run simultaneously, this may enable independent control of each of them.
It is thus an object of the present invention to operate service logic relating to an incoming call over a telephone network to a terminal by sending a script control message to the terminal for controlling the selection and operation of scripts previously loaded into said terminal.
It is another object of the invention that the script control message is part of a GR-30 standard message. An advantage of using this well established standard is that many installed switches and terminals use it, and it has proven reliable.
It is another object of the present invention that the control message uses a call qualifier field of the GR-30 standard message. An advantage of this is that it is a part of the GR-30 standard which is suitable for expansion with minimum changes being needed at either the switch or the terminal.
It is another object of the present invention that it be usable with a terminal which supports the ADSI protocol. An advantage of using such terminals is that ADSI capabilities, such as display and softkeys in particular, combine well with the remote control mechanism of the invention to enable a wider range of services to be offered.
It is another object of the present invention that the service logic is responsive to events outside the telephone network. An advantage of this is that a wider range of services can be offered if the service can make use of such events.
It is another object of the present invention that the control message is determined and sent from a server which is coupled to the network by a telephone line. This enables services to be offered and administered by third parties, independent of the telephone network.
It is another object of the present invention to provide operation of service logic in which the service logic initiates a call to the customer terminal, and the script control message is sent to the terminal during call set-up. An advantage of this is that it enables services to be created without requiring their intervention even to answer the call. By sending the control message during call setup, the service can specify how the call is to be answered by the terminal. Such services may be used for alerting customers, for example.
It is another object of the present invention that the terminal service logic script comprises the step of alerting the customer by voice without requiring customer action. An advantage of this is that it enables a customer to be alerted without his having to take the usual step of lifting a receiver or pressing a button to accept a call. This may be useful to ensure that urgent calls are not missed. Preferably the alerting by voice comprises spoken information relating to or descriptive of the call. This enables a customer to make an informed decision of whether to take the call.
It is another object of the present invention that the terminal service logic script comprises the step of taking the terminal off-hook without first checking at the terminal that a terminal identity sent with the control message matches a pre-assigned terminal identity. An advantage of this is that the service can operate with any terminal without the administrative burden of maintaining a record of the terminal identity of every terminal.
It is another object of the present invention to be used with a terminal comprising a loudspeaker, the terminal service logic script comprising the step of coupling the loudspeaker to a voice path of the call over the network. An advantage of this is that it enables useful services which use the loudspeaker and which can be remotely controlled. This can include public address type services, or alerting or paging services.
It is another object of the present invention that the service logic comprises the step of alerting the customer, by a voice message over a loudspeaker of the terminal, of the occurrence of a predetermined event. An advantage of this is that the customer need not initiate a call, nor even answer a call, as long as they are within earshot of their terminal. Thus they need not interrupt their current activity any longer than is needed to listen to the information in the voice message. Preferably the predetermined event comprises an event occurring in a computer system coupled to the telephone network.
The present invention thus overcomes some of the disadvantages of computer systems including, for example, email applications, which make them poor at alerting customers to events. Typically they can alert a recipient of a message only by an indication on the recipient""s screen, and by a tone. Urgent messages may not reach a customer who is not on-line, or if the customer does not interrupt their current activity to check the content of the messages. Screen messages may be occluded by other windows on the screen. If many less important messages are being received, it may be inconvenient to check the content of all of them. A terminal for a telephone network is normally available for receiving calls all the time, and a verbal message can contain more information to help a customer to decide whether to respond immediately.
It is another object of the present invention that the remote control of the terminal script is made dependent on criteria selected by the customer. This helps to broaden the range of services which can be created. Selection by the customer can improve security, prevent nuisance calls, or can enable a customer to prioritize calls and allow remote control only to selected callers.
Another aspect of the invention provides a method of paging a customer by using a customer terminal coupled to a telephone network, the terminal being arranged for handling voice calls over the telephone network, and having a loudspeaker, the method comprising the steps of:
initiating a call over the telephone network to the terminal,
sending a control message to the terminal to cause the terminal to go off-hook, and to use the loudspeaker to alert the customer.
Another aspect provides apparatus corresponding to the method of the first aspect.
Another aspect provides software stored on a computer readable medium for carrying out the method of the first aspect.
According to another aspect of the invention, there is provided a customer terminal for use with the above aspects of the invention, for receiving a control message and executing the script according to the control message.
Another aspect provides a method of using the customer terminal of the preceding aspect for receiving a control message and executing the script according to the data message.
Another aspect provides software stored on a computer readable medium for carrying out the method of using a customer terminal of the preceding aspect.
Another aspect provides a method of programming a computer to operate according to the method of the first aspect.
Another aspect provides a method of programming a terminal to operate according to the aspect set out above.
Any of the preferred features may be combined with any of the aspects set out above as would be apparent to a skilled person.
Other advantages will be apparent to a skilled person, particularly in relation to any further prior art other than that discussed above.
The invention will next be described in connection with certain exemplary embodiments; however, it should be clear to those skilled in the art that various modifications, additions and subtractions can be made without departing from the spirit or scope of the claims.